package com.lgmshare.component.network;

/**
 * 请求回调
 *
 * @author lim
 * @description: TODO
 * @email lgmshare@gmail.com
 * @datetime 2016/5/6 10:04
 */
public interface HttpResponseCallback {

    /**
     * 请求开始
     */
    void onStart();

    /**
     * 请求结束
     */
    void onFinish();

    /**
     * 请求取消
     */
    void onCancel();

    /**
     * 请求进度
     *
     * @param totalSize   文件大小
     * @param currentSize 下载进度
     * @param offset      下载速度
     */
    void onProgress(long totalSize, long currentSize, long offset);

    /**
     * 请求成功回调
     *
     * @param statusCode
     * @param body
     */
    void onSuccess(int statusCode, String body);

    /**
     * 请求失败回调
     *
     * @param statusCode
     * @param message
     */
    void onFailure(int statusCode, String message);
}
